home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Cafe 3
/
Visual Cafe 3.ISO
/
Vcafe
/
Main.bin
/
Option.java
< prev
next >
Wrap
Text File
|
1998-09-08
|
5KB
|
267 lines
package com.symantec.itools.frameworks.application.commandline;
/**
* @author Symantec Internet Tools Division
* @version 1.0
* @since VCafe 3.0
*/
public abstract class Option
{
/**
* @since VCafe 3.0
*/
protected String[] flags;
/**
* @since VCafe 3.0
*/
protected String[] defaultValues;
/**
* @since VCafe 3.0
*/
protected boolean called;
/**
* @since VCafe 3.0
*/
protected boolean hasDefault;
/**
* @since VCafe 3.0
*/
protected boolean isMandatory;
/**
* @since VCafe 3.0
*/
protected String shortDesc;
/**
* @since VCafe 3.0
*/
protected String longDesc;
/**
* @since VCafe 3.0
*/
protected String help;
protected Option()
{
flags = new String[0];
defaultValues = new String[0];
}
protected Option(String[] f)
{
flags = f;
}
/**
* @param f TODO
* @since VCafe 3.0
*/
public void setFlags(String[] f)
{
flags = f;
}
/**
* @since VCafe 3.0
*/
public String[] getFlags()
{
return (flags);
}
/**
* @since VCafe 3.0
*/
public String toString()
{
return (shortDesc);
}
/**
* @since VCafe 3.0
*/
public boolean wasCalled()
{
return (called);
}
/**
* @param f TODO
* @since VCafe 3.0
*/
public void setCalled(boolean f)
{
called = f;
}
/**
* @param f TODO
* @since VCafe 3.0
*/
public void setMandatory(boolean f)
{
isMandatory = f;
}
/**
* @since VCafe 3.0
*/
public boolean isMandatory()
{
return (isMandatory);
}
/**
* @since VCafe 3.0
*/
public boolean hasDefault()
{
return (hasDefault);
}
/**
* @exception com.symantec.itools.frameworks.application.commandline.InvalidArgumentException
* @since VCafe 3.0
*/
public void parseDefault()
throws InvalidArgumentException
{
setCalled(true);
parseArg(defaultValues, 0);
}
/**
* @param str TODO
* @since VCafe 3.0
*/
public void setDefaultValue(String str)
{
if(str == null)
{
return;
}
hasDefault = true;
defaultValues = new String[2];
defaultValues[1] = str;
}
/**
* @param array TODO
* @since VCafe 3.0
*/
public void setDefaultValue(String[] array)
{
if(array.length == 0)
{
return;
}
hasDefault = true;
defaultValues = new String[array.length + 1];
System.arraycopy(array, 0, defaultValues, 1, array.length);
}
/**
* @since VCafe 3.0
*/
public String[] getDefaultValue()
{
return (defaultValues);
}
/**
* @since VCafe 3.0
*/
public String getShortDesc()
{
return (shortDesc);
}
/**
* @since VCafe 3.0
*/
public String getLongDesc()
{
return (longDesc);
}
/**
* @param str TODO
* @since VCafe 3.0
*/
public void setShortDesc(String str)
{
shortDesc = str;
}
/**
* @param str TODO
* @since VCafe 3.0
*/
public void setLongDesc(String str)
{
longDesc = str;
}
/**
* @param str TODO
* @since VCafe 3.0
*/
public void setHelp(String str)
{
help = str;
}
/**
* @since VCafe 3.0
*/
public String getHelp()
{
return (help);
}
/**
* @param args TODO
* @param startIndex TODO
* @exception com.symantec.itools.frameworks.application.commandline.InvalidArgumentException
* @since VCafe 3.0
*/
public abstract void parseArg(String[] args, int startIndex)
throws InvalidArgumentException;
/**
* @since VCafe 3.0
*/
protected abstract int getConsumedCount();
}